geosfandomcom_de-20200214-history
VGA16.GEO
=Hinweise zum "neuen" Grafikkartentreiber VGA16.GEO ("VESA 64K-color SVGA Driver")= Generell Der seit dem Geos-Treffen in Syhra 2008 verfügbare Treiber verbringt keine Wunder, sondern fügt nur zusätzliche Grafikmodi hinzu, die alle "nur" VESA-Modi sind und die alle "nur" eine Farbtiefe von 16bit (65.536 (=64K) Farben) haben. Hat man eine Grafikkarte, die nicht VESA-kompatibel ist, oder will man z.B. Grafikmodi mit einer Farbtiefe von 24bit ("Truecolor", ca. 16,78 Millionen Farben) nutzen, bringt einem der "neue" Treiber gar nichts. Ist man mit dem aktuellen Grafikmodus zufrieden, braucht man den neuen Treiber ebenfalls nicht, da sich am Treiber sonst nichts geändert hat. Hier zum Vergleich die Liste der 16bit-'VESA'-Modi (die vier Modi, die sich nicht geändert haben und die es auch schon beim alten VGA16.GEO gab, werden fett dargestellt): * VESA Compatible SuperVGA: 640x350 64K-color * VESA Compatible SuperVGA: 640x400 64K-color * VESA Compatible SuperVGA: 640x480 64K-color * VESA Compatible SuperVGA: 720x400 64K-color * VESA Compatible SuperVGA: 800x480 64K-color * VESA Compatible SuperVGA: 800x600 64K-color * VESA Compatible SuperVGA: 832x624 64K-color * VESA Compatible SuperVGA: 1024x600 64K-color * VESA Compatible SuperVGA: 1024x768 64K-color * VESA Compatible SuperVGA: 1152x864 64K-color * VESA Compatible SuperVGA: 1280x600 64K-color * VESA Compatible SuperVGA: 1280x720 64K-color * VESA Compatible SuperVGA: 1280x768 64K-color * VESA Compatible SuperVGA: 1280x800 64K-color * VESA Compatible SuperVGA: 1280x854 64K-color * VESA Compatible SuperVGA: 1280x960 64K-color * VESA Compatible SuperVGA: 1280x1024 64K-color * VESA Compatible SuperVGA: 1360x768 64K-color * VESA Compatible SuperVGA: 1366x768 64K-color * VESA Compatible SuperVGA: 1400x1050 64K-color * VESA Compatible SuperVGA: 1440x900 64K-color * VESA Compatible SuperVGA: 1600x900 64K-color * VESA Compatible SuperVGA: 1600x1024 64K-color * VESA Compatible SuperVGA: 1600x1200 64K-color * VESA Compatible SuperVGA: 1680x1050 64K-color * VESA Compatible SuperVGA: 1920x1024 64K-color * VESA Compatible SuperVGA: 1920x1080 64K-color * VESA Compatible SuperVGA: 1920x1200 64K-color * VESA Compatible SuperVGA: 1920x1440 64K-color * VESA Compatible SuperVGA: 2048x1536 64K-color Selber testen Vertraut man dem neuen Treiber nicht, oder will man sich "einmal so" die verfügbaren VESA-Grafikmodi anschauen, kann man einfach das kostenlose DOS-Programm VESACHK.EXE laufen lassen, daß auch in der Kommandozeile von Windows, OS/2 und eComStation und in den ganzen Emulatoren laufen sollte. Ruft man es so auf "VESACHK.EXE > 1.TXT", wird die Ausgabe in eine Textdatei umgelenkt. Das Programm versucht übrigens nicht, die Modi auch zu aktivieren. Dadurch ist der Test zwar weniger aussagekräftig, allerdings hat man keine Problem damit, daß ein 1024x768-Monitor auf einmal 1600x1200 darstellen soll. Prinzipiell gilt: Wird der VESA-Modus nicht von VESACHK.EXE aufgelistet, kann man ihn auch nicht mit VGA16.GEO nutzen, da es ihn nicht gibt! Betrieb auf echter Hardware Leider ist man bzgl. VESA-Grafikmodi als Endanwender echt gestraft: Erst mußte man umständlich wertvollen Hauptspeicher opfern und DOS-Treiber für die VESA-Modi installieren. Dann wanderte die VESA-Unterstützung ins BIOS der Grafikkarte, und man wähnte sich schon "sicher". Dann kam Windows und sorgte dafür, daß die VESA-Unterstützung der Grafikkarten nicht weiter gepflegt wurde: Wenn es sie noch gibt, sind sie meistens noch auf dem Stand von 1995, bieten also nur Zugriff auf einen Bruchteil dessen, was die Grafikkarte eigentlich kann. "Schlimmer" noch sind die jüngsten Entwicklungen im Linux-Bereich: Neuerdings liefern die Hersteller nicht nur spezielle Grafikkartentreiber für Windows, sondern auch für Linux. Damit nutzen praktisch nur noch ein paar wenige DOS-Anwendungen (inkl. Geos) überhaupt die VESA-Modi. So ist abzusehen, daß sich die Unterstützung der VESA-Modi bei den kommenden Grafikkarten eigentlich nur noch verschlechtern kann. Zudem sparen sich seitdem die Hersteller auch die Auflistung der VESA-Modi auf ihren Webseiten, so daß man also nur noch "im Nebel fischen und das Beste hoffen" kann. :-( DOS Einigen Grafikkarten lagen spezielle DOS-Treiber bei, die mehr VESA-Grafikmodi hervorzauberten. Bei anderen Grafikkarten funktionieren "universelle" Treiber wie z.B. UniVBE. Das Problem: Für neuere Grafikkarten gibt's keine DOS-Treiber mehr. Und die "universellen" Treiber werden auch nicht mehr weiterentwickelt, so daß sie "sowieso" nur die 16bit-VESA-Modi 640x480, 800x600, 1024x768 und 1280x1024 unterstützen und ggf. gar nicht mehr korrekt mit aktuelleren Grafikkarten zusammenarbeiten. Kleiner Hinweis: Mit der kostenlosen DOS-Erweiterung "HX" ist es auch möglich, die Emulatoren QEMU und DosBox unter DOS laufen zu lassen! Bietet z.B. die Grafikkarte 1024x768 als VESA-Modus nur mit einer Farbtiefe von 32bit an (was von Geos nicht unterstützt wird), kann man sich so eine Grafikkarte emulieren, die 1024x768 als VESA-Modus auch mit einer Farbtiefe von 16 und/oder 24bit kann. Das ist zwar arg "von hinten durch die Brust ins Auge geschossen" und ein einfacher DOS-VESA-Treiber wäre allemal besser, aber egal, so lange Geos dann endlich läuft ;-) Windows, OS/2 oder eComStation Eigentlich ist die Situation hier schlimmer als unter einem nackten DOS: Die DOS-Treiber laufen meistens nicht mehr und die Grafiktreiber für Windows, OS/2 oder eComStation blockieren eher die VESA-Modi, als sie z.B. emulierend hinzuzufügen. Es gibt ein paar Programme, die eine VESA-Grafikkarte emulieren: VDMSound, SolVBE, ... . Allerdings wurde ihre Weiterentwicklung aufgrund der ganzen Emulatoren (s.u.) eingestellt. Von VGA16.GEO unterstützte 16bit-VESA-Modi einiger Grafikkarten Achtung: Laut der Wikipedia bieten einige Netbooks keinen direkten "1280x800"-Modus. Hier soll dann allerdings die Wahl des "1400x1050"-Modus dafür sorgen, daß man den "1280x800"-Bildschirm in voller Auflösung nutzen kann. Ob das auch unter Geos so funktioniert und ob man hier dann in der Geos.ini in der "ui"-Sektion noch so etwas eintragen muß, ist leider noch unklar: xScreenSize = 1280 yScreenSize = 800 xFieldSize = 1280 yFieldSize = 800 Matrox * Matrox G400 SH: 640x480, 800x600, 1024x768, 1280x1024, 1600x1200 (Modi über 800x600 benötigen den DOS-Treiber "vbext.exe", der auf der Treiber-CD enthalten ist) ATI * ATI Radeon 9200 SE AGP: 640x350, 640x400, 640x480, 800x600, 1024x768, 1280x1024 * ATI Radeon 9800 PRO: 640x350, 640x400, 640x480, 800x600, 1024x768, 1280x1024 * ATI Radeon X800 PRO: 640x350, 640x400, 640x480, 720x400, 800x600, 1024x768, 1152x864, 1280x1024, 1400x1050, 1600x1200, 1856x1392, 1920x1440 NVidia * NVidia GeForce 4 Ti4200: 640x400, 640x480, 800x600, 1024x768, 1280x1024, 1400x1050, 1600x1200 * NVidia GeForce 7600 GS: 640x400, 640x480, 800x600, 1024x768, 1280x1024, 1400x1050, 1600x1200 Betrieb in emulierter Hardware Viele Emulatoren emulieren nur alte Hardware, sind nur auf Modi mit 4:3-Seitenverhältnis beschränkt und/oder sind nur für DOS-Spiele optimiert. Dadurch hat man als funktionierenden 16bit-VESA-Modus oft nur 640x480, 800x600 und 1024x768 zur Auswahl. Kurz: Der neue Geos-Treiber bringt einem hier nichts. Allerdings sorgen die Netbooks und die neuen "Breitbild-TFTs" dafür, daß sich hier viel ändert. So könnte in einem halben Jahr dieser Text schon wieder überholt sein. Landet die "Bildschirmausgabe" des Emulators in einem eigenen Fenster, ist man nur auf die Fähigkeiten der Emulation angewiesen. Soll die Emulation allerdings im Vollbildmodus laufen, müssen auch die echte Grafikkarte und der echte Monitor das gewünschte Format unterstützen. (Was die Emulation dabei genau macht, entnehmen Sie bitte Ihrem Handbuch: Auch wenn z.B. "1280x800x16bit als VESA-Modus" emuliert wird, kann die tatsächliche Vollbildausgabe z.B. auch als "1280x800x32bit als Windows-only-Grafikmodus" erfolgen.) Parallels Die Version "Build 3214" beherrscht scheinbar nur folgende 16bit-VESA-Modi: 640x400, 640x480, 720x480, 800x500, 800x600, 896x672, 1024x640, 1024x768, 1152x720, 1280x1024, 1440x900 und 1600x1200 DosBox Die bei mir laufende DosBox (Version 0.70 für Windows) kann bei den 16bit-Modi nur 640x480, 800x600 und 1024x768. Andere Versionen können scheinbar auch 1400x1050 und 1600x1200. Qemu Bei Qemu kann man auch einstellen, welche Grafikkarte emuliert werden soll und z.B. deren VGA-BIOS mit angeben. Mit meinen aktuellen Einstellungen habe ich bei den 16bit-Modi allerdings nur 640x480, 800x600 und 1024x768 hinbekommen. (1280x1024 ginge vielleicht auch noch, allerdings macht das mein Monitor nicht mit.) DosEmu In der Linux-DosEmu müssen die gewünschten Grafikmodi erst noch "freigeschaltet" werden. Dazu muß man die .dosemurc (liegt im eigenen "Home"-Verzeichnis, Änderungen gelten nur für den eigenen User), bzw. die dosemu.conf (meistens unter /etc/dosemu, gilt für alle, die keine eigene .dosemurc haben) editieren: Im Bereich ## Setting specific to the X Window System (xdosemu, dosemu -X) müssen die gewünschten Vesa-Modi eingetragen werden, z. B: $_X_vesamode = "640,480 1280,800" (Die Werte müssen dieselben wie in Geos sein, in diesem Beispiel werden alle VESA-Modi mit "640x480" und "1280x800" aktiviert.) Achtung: Bei mir listet VESACHK.EXE auch Modi auf, die ich vorher nicht explizit aktiviert hatte. Ob die "per Default" aktiv sind oder ob das ein Fehler in DosEmu ist, ist mir unklar. Im Zweifel immer alle gewünschten Modi explizit aktivieren! Zudem muß man noch ab einer gewissen Auflösung den Speicher der emulierten Grafikkarte hochsetzen: 1024x768 sollten noch mit dem Defaultwert von 4MB gehen, danach bitte auf 8MB gehen: Im Bereich # size (in Kbytes) of the frame buffer for emulated vga. so etwas eintragen: $_X_vgaemu_memsize = (8192) Achim hat zudem noch den folgenden Wert im Bereich auf "auto" umgestellt. Ob's wirklich nötig ist und wirklich seinen Bildaufbau beschleunigt hat, kann er leider nicht sagen: $_vmemsize = (auto) Achtung: Bitte daran denken, die Kommentarzeichen (#) am Anfang der Zeilen zu entfernen! Andernfalls werden Eure Änderungen einfach "ignoriert"! ;-) Installation # GEOS.INI sichern (Dazu darf Geos nicht laufen!) # Geos wieder starten und in den Voreinstellungen unter "Video" auf 640x480 16 Farben einstellen. # Geos wieder beenden! # Die alte Datei VGA16.GEO im Ordner \System\Video in VGA16.OLD umbenennen. # Die neue VGA16.GEO in das Verzeichnis \System\Video kopieren. # In \privdata\preferences und \privdata\state alle Dateien löschen. Eine Sicherungskopie ist hier nicht nötig. # Jetzt kann Geos neu gestartet werden. Die neuen Grafikmodi sollten jetzt unter den Voreinstellungen unter "Video" zur Auswahl stehen. Falls Geos behauptet, daß ein VESA-Modus "nicht da" sei, wird das auch stimmen! (Daß es unter Windows-/Linux einen entsprechenden Grafikmodus gibt, hat damit nichts zu tun, weil das ja nicht bedeutet, daß es ihn auch als VESA-Modus gibt!)